home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / zugabe / va45 / visual45 / library / extend / timedate.s < prev    next >
Text File  |  1998-05-16  |  2KB  |  103 lines

  1.  
  2.     ifd LIB_TIME_DATE
  3.  
  4.  ifnd LIB_DECI
  5.   fail    ; Vous avez besoin de la librairie LIB_DECI
  6.   end
  7.  endc
  8.  
  9. GWVA_GET_FORMATED_DATE:        ; a1=ptr destination : "29/06/1995"
  10.  
  11.     save.l a1
  12.     appel dos,42,2
  13.     load.l a1
  14.     move.l a1,a0
  15.  
  16.     save.l d0/a0
  17.     and.l #%11111,d0        ; day
  18.     bsr GWVA_STOCK_DECI
  19.     load.l d0/a0
  20.     lea -1(a1),a1
  21.     add #1,a0
  22.     cmp.l a0,a1
  23.     bne.s .2digits
  24.     move.b -1(a0),(a0)
  25.     move.b #'0',-1(a0)
  26.     lea 1(a1),a1
  27. .2digits:    move.b #'/',(a1)+
  28.     lea 2(a0),a0
  29.     save.l d0/a0
  30.     and.l #%111100000,d0        ; month
  31.     lsr.l #5,d0
  32.     bsr GWVA_STOCK_DECI
  33.     load.l d0/a0
  34.     lea -1(a1),a1
  35.     add #1,a0
  36.     cmp.l a0,a1
  37.     bne.s .2digits2
  38.     move.b -1(a0),(a0)
  39.     move.b #'0',-1(a0)
  40.     lea 1(a1),a1
  41. .2digits2:    move.b #'/',(a1)+
  42.     lea 2(a0),a0
  43.     and.l #%1111111000000000,d0    ; year
  44.     lsr.l #8,d0
  45.     lsr.l #1,d0
  46.     add.l #1980,d0
  47.     bsr GWVA_STOCK_DECI
  48.     rts
  49.  
  50. GWVA_GET_FORMATED_TIME:        ; a1=ptr destination : "19:20:00"
  51.     save.l a1
  52.     appel dos,44,2
  53.     load.l a1
  54.     move.l a1,a0
  55.  
  56.     save.l d0/a0
  57.     and.l #%1111100000000000,d0    ; hour
  58.     lsr.l #8,d0
  59.     lsr.l #3,d0
  60.     bsr GWVA_STOCK_DECI
  61.     load.l d0/a0
  62.     lea -1(a1),a1
  63.     add #1,a0
  64.     cmp.l a0,a1
  65.     bne.s .2digits
  66.     move.b -1(a0),(a0)
  67.     move.b #'0',-1(a0)
  68.     lea 1(a1),a1
  69. .2digits:    move.b #':',(a1)+
  70.     lea 2(a0),a0
  71.  
  72.     save.l d0/a0
  73.     and.l #%11111100000,d0        ; minutes
  74.     lsr.l #5,d0
  75.     bsr GWVA_STOCK_DECI
  76.     load.l d0/a0
  77.     lea -1(a1),a1
  78.     add #1,a0
  79.     cmp.l a0,a1
  80.     bne.s .2digits2
  81.     move.b -1(a0),(a0)
  82.     move.b #'0',-1(a0)
  83.     lea 1(a1),a1
  84. .2digits2:    move.b #':',(a1)+
  85.     lea 2(a0),a0
  86.  
  87.     save.l d0/a0
  88.     and.l #%11111,d0        ; secondes
  89.     lsl.l #1,d0
  90.     bsr GWVA_STOCK_DECI
  91.     load.l d0/a0
  92.     lea -1(a1),a1
  93.     add #1,a0
  94.     cmp.l a0,a1
  95.     bne.s .2digits3
  96.     move.b -1(a0),(a0)
  97.     move.b #'0',-1(a0)
  98.     lea 1(a1),a1
  99. .2digits3:    lea 1(a1),a1        ; pour pointer après le 0
  100.     rts
  101.  
  102.     endc    ; ifd LIB_TIME_DATE
  103.